Java Technologies Unprotected এবং Decryption পদ্ধতি গাইড ও নোট

201

Apache POI ব্যবহার করে আপনি Microsoft Office ডকুমেন্টস (যেমন Excel, Word, PowerPoint) এর protected (সুরক্ষিত) ফাইল থেকে Unprotected বা Decrypted ফাইল তৈরি করতে পারেন। অর্থাৎ, আপনি একটি পাসওয়ার্ড প্রটেক্টেড ডকুমেন্ট খুলে তার সুরক্ষা অপসারণ করতে পারবেন। তবে, এখানে মূল বিষয় হলো, Encryption এবং Decryption সম্পর্কিত কাজগুলো কিভাবে করা হয় এবং এটি কীভাবে Apache POI দিয়ে পরিচালনা করা যায়।


১. Excel ফাইলের Decryption (XLSX ফাইল)

এক্ষেত্রে, যদি একটি Excel ফাইল পাসওয়ার্ড দ্বারা সুরক্ষিত থাকে, তাহলে তার Decryption করতে Apache POI এর সাহায্যে কিছু নির্দিষ্ট পদ্ধতি ব্যবহার করা হয়। এটি করতে গেলে প্রথমে আপনি পাসওয়ার্ড ব্যবহার করে ফাইলটি খুলবেন এবং তারপরে সেটি পাসওয়ার্ড মুছে নতুন একটি ফাইল হিসেবে সেভ করবেন।

উদাহরণ: Excel ফাইল Decrypt করা

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelDecryptExample {

    public static void main(String[] args) throws IOException, InvalidFormatException {
        // পাসওয়ার্ড সহ সুরক্ষিত ফাইলের পাথ
        String encryptedFilePath = "protected.xlsx";
        String decryptedFilePath = "decrypted.xlsx";
        String password = "yourPassword";  // সঠিক পাসওয়ার্ড

        // সুরক্ষিত Excel ফাইল খুলুন
        FileInputStream fis = new FileInputStream(new File(encryptedFilePath));

        // পাসওয়ার্ডের মাধ্যমে ফাইল আনলক করা
        Workbook workbook = null;
        try {
            workbook = WorkbookFactory.create(fis, password);  // পাসওয়ার্ড দিয়ে ফাইল ডিক্রিপ্ট করা
        } catch (Exception e) {
            System.out.println("পাসওয়ার্ড সঠিক নয় অথবা ফাইলটি সুরক্ষিত নয়");
        }

        // নতুন ফাইল সেভ করার জন্য ফাইল আউটপুট স্ট্রিম তৈরি
        FileOutputStream fileOut = new FileOutputStream(decryptedFilePath);

        // ডিক্রিপ্ট করা ফাইল নতুন আকারে সেভ করা
        workbook.write(fileOut);

        fileOut.close();
        fis.close();

        System.out.println("ফাইল ডিক্রিপ্ট হয়ে নতুন ফাইল হিসেবে সেভ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • FileInputStream: প্রথমে সুরক্ষিত Excel ফাইলটি পাঠ্য আকারে খুলতে হবে।
  • WorkbookFactory.create(): পাসওয়ার্ড দিয়ে ফাইল ডিক্রিপ্ট করা হয়।
  • FileOutputStream: ডিক্রিপ্ট করা ফাইলটি একটি নতুন নাম দিয়ে সেভ করা হয়।
  • password: পাসওয়ার্ডটি এখানে উল্লেখ করতে হয় যা ফাইলটি খুলতে ব্যবহৃত হবে।

২. Word ফাইলের Decryption (DOCX ফাইল)

Word ডকুমেন্টেও একইভাবে আপনি Decryption বা Unprotected করতে পারেন। এর জন্য, Apache POI ব্যবহার করে DOCX ফাইল ডিক্রিপ্ট করার মতো কোনো সরাসরি API নেই, তবে Excel ফাইলের মতো এটি Password Protection অপসারণের জন্য একই পদ্ধতি অনুসরণ করা যায়।

উদাহরণ: Word ফাইল Decrypt করা

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WordDecryptExample {

    public static void main(String[] args) throws IOException, InvalidFormatException {
        // সুরক্ষিত Word ফাইলের পাথ
        String encryptedFilePath = "protected.docx";
        String decryptedFilePath = "decrypted.docx";
        String password = "yourPassword";  // সঠিক পাসওয়ার্ড

        // সুরক্ষিত Word ফাইল খুলুন
        FileInputStream fis = new FileInputStream(new File(encryptedFilePath));

        // পাসওয়ার্ডের মাধ্যমে Word ফাইল আনলক করা
        XWPFDocument document = null;
        try {
            document = new XWPFDocument(fis);
        } catch (Exception e) {
            System.out.println("পাসওয়ার্ড সঠিক নয় অথবা ফাইলটি সুরক্ষিত নয়");
        }

        // নতুন ফাইল সেভ করার জন্য ফাইল আউটপুট স্ট্রিম তৈরি
        FileOutputStream fileOut = new FileOutputStream(decryptedFilePath);

        // ডিক্রিপ্ট করা ফাইল নতুন আকারে সেভ করা
        document.write(fileOut);

        fileOut.close();
        fis.close();

        System.out.println("ফাইল ডিক্রিপ্ট হয়ে নতুন ফাইল হিসেবে সেভ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • XWPFDocument: Word ফাইল (DOCX) খুলতে ব্যবহৃত হয়।
  • FileOutputStream: ডিক্রিপ্ট করা ফাইলটি সেভ করার জন্য ব্যবহৃত হয়।

৩. Unprotected Excel ফাইল তৈরি করা

আপনি যদি protected ফাইল থেকে ডিক্রিপ্ট করা তথ্য নিয়ে নতুন একটি unprotected Excel ফাইল তৈরি করতে চান, তবে সেই তথ্যগুলো সোজা Excel ফাইলে লিখে দিতে পারেন। এতে মূলত আপনি সেই ডেটা নিরাপত্তাহীন (Unprotected) ফাইল হিসেবে রক্ষা করবেন।

উদাহরণ: Unprotected Excel ফাইল তৈরি করা

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class UnprotectedExcelFile {
    public static void main(String[] args) throws IOException {
        // নতুন Excel ফাইল তৈরি
        XSSFWorkbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Unprotected Data");

        // ডেটা রো তৈরি
        Row row1 = sheet.createRow(0);
        row1.createCell(0).setCellValue("Product");
        row1.createCell(1).setCellValue("Price");

        Row row2 = sheet.createRow(1);
        row2.createCell(0).setCellValue("Laptop");
        row2.createCell(1).setCellValue(500);

        Row row3 = sheet.createRow(2);
        row3.createCell(0).setCellValue("Mobile");
        row3.createCell(1).setCellValue(300);

        // ফাইল আউটপুট স্ট্রিম তৈরি
        FileOutputStream fileOut = new FileOutputStream("unprotected.xlsx");

        // Excel ফাইল সেভ করা
        workbook.write(fileOut);

        fileOut.close();

        System.out.println("Unprotected Excel ফাইল তৈরি করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • এখানে আমরা unprotected Excel ফাইল তৈরি করেছি এবং সেই ফাইলটিতে ডেটা সেভ করেছি।
  • ফাইলটি সুরক্ষিত নয়, অর্থাৎ এখানে কোনো পাসওয়ার্ড প্রটেকশন নেই।

৪. Best Practices এবং Security Considerations

  • Password Protection: পাসওয়ার্ড সুরক্ষিত ফাইলগুলির ডিক্রিপশন করার আগে সঠিক পাসওয়ার্ড ব্যবহার নিশ্চিত করুন। ফাইলের পাসওয়ার্ড সঠিক না হলে ডিক্রিপশন ব্যর্থ হবে।
  • Security: ডিক্রিপ্ট করা ফাইলের তথ্য কেবল তখনই ব্যবহার করুন যখন এটি প্রয়োজন। নিশ্চিত করুন যে আপনার ডিক্রিপ্ট করা ফাইলটি নিরাপদ অবস্থায় আছে এবং কোনো অবাঞ্ছিত ব্যক্তির কাছে এটি পৌঁছায় না।
  • File Integrity: ফাইলটি ডিক্রিপ্ট করার পর তার অখণ্ডতা নিশ্চিত করুন যাতে কোনো ডেটা ক্ষতি না হয়।

সারাংশ

Apache POI ব্যবহার করে আপনি সুরক্ষিত (protected) Excel ও Word ফাইলের decryption বা unprotection করতে পারেন। আপনি পাসওয়ার্ড ব্যবহার করে সুরক্ষিত ফাইল খুলে তা নতুন ফাইল হিসেবে সেভ করতে পারবেন। তবে, Decryption করতে গেলে সঠিক পাসওয়ার্ড প্রয়োজন এবং সুরক্ষিত ফাইলের নিরাপত্তা বজায় রাখতে নিরাপত্তা কৌশল অনুসরণ করা উচিত।

Content added By
Promotion

Are you sure to start over?

Loading...